home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games: Greatest Hits 1996 / Amiga Games: Greatest Hits 1996.iso / spiele / publicdomain / doubletris / doubletris.doc < prev    next >
Text File  |  1996-07-10  |  17KB  |  381 lines

  1. $VER:Doubletris 1.01 (11.07.1996)
  2.  
  3.                           ***************************
  4.                           *                         *
  5.                           *   D O U B L E T R I S   *
  6.                           *                         *
  7.                           ***************************
  8.  
  9. WHAT IS IT?
  10.  
  11.   Doubletris is a Tetris-Clone for two players, who play simultanously in
  12. one playfield. There is also a computer player, but its playing skill is
  13. very bad. Doubletris isn't only able to run in multitasking, it is also
  14. the only possibility.
  15.  
  16. DECLARATION
  17.  
  18.   Because I enhanced the idea of Tetris, I want this program distributed as
  19. FREEWARE. (COPYRIGHT look down)
  20.  
  21. INTRODUCTION AND INTENTION
  22.  
  23.   I started to do Doubletris three years ago, because I learnt
  24. objectoriented programming in school. I learnt Oberon-2. The nature of this
  25. language let me think about a completly objectoriented implementation. So I
  26. started in winter '93. While developing the program I suffered many
  27. setbacks, which weren't so easy to take. But finally it is done.
  28.  
  29. SYSTEMCONFIGURATION
  30.  
  31.   Doubletris was developed using following configuration:
  32.  
  33. A500 1MB Chip ECS Kickstart 1.3, 2.04 (WB 2.1), 3.1
  34. A590 SCSI-Controller, 1MB Fast-Ram, 120MB Quantum-HD,
  35. Toshiba XM4101 CD-Rom, Mikronik-Mini-Tower
  36. sometimes a Harms 030-Turboboard :-((
  37.  
  38.   Doubletris was tested on following systems:
  39.  
  40. see above
  41. A500 1MB Chip 8MB Fast G-Force 040 (M-Tec) 1080 MB IBM, Toshiba 3601
  42.      Kick 3.1
  43. A500 1MB Chip 8MB Fast GVP-SerieII-SCSI-Controller 127MB Quantum OS2.1
  44.      Harms 030+
  45. A2000 1MB Chip 6MB Fast A2630 Apollo-HD-Controller Tandem-AT-Controller
  46.      Retina-Graficboard
  47. A2000 1MB Chip 5MB Fast GVP-SerieII-SCSI-Controller 270MB-HD OS2.1
  48.  
  49.   Mininmal system configuration:
  50.  
  51. An Amiga with 512KByte Ram, OS1.2 (Wasn't tested, but should run.)
  52. I suggest a Amiga using Kick 2.04+. It should have at least 1MB of Ram for
  53. Doubletris to preload the soundmodules.
  54.  
  55. (FIRST) START
  56.  
  57.   At the first start using KS2.04+ a screenmode-requester should appear
  58. (If this isn't so, look in the TOOLTYPES-chapter 'SCREENMODE'). You now
  59. should choose your favorite screenresolution to start Doubletris in. After
  60. that a black screen should appear saying the following:
  61. "Trying to load all sound-modules (for speed)!"
  62. Doubletris now tries to load all soundmodules named in the tooltype.
  63. (Because of juristical reason no soundmoduls are included.) After that a
  64. Menu should appear.
  65.  
  66. MENU
  67.  
  68.   The menu is main interface of Doubletris, where you are able to
  69. manipulate some parameters of the game. The icons have following meanings:
  70.  
  71.                     DOUBLETRIS
  72.             (Contains only Producer-Infos.)
  73.  
  74.  
  75.   CPU            PL1          Joystick        Mouse        Keyboard
  76.  
  77. The CPU will  humanoid        Controldevice player 1 uses.
  78. play as       player          in port 1      in port 1     look (*)
  79. player 1.
  80.  
  81.   CPU            PL2          Joystick        Mouse        Keyboard
  82.  
  83. The CPU will  humanoid        Controldevice player 2 uses.
  84. play as       player          in port 2      in port 2     look (**)
  85. player 2.
  86.                                 |  to choose with keyboard (***)
  87.                                \|/
  88.   FX             Music        Start           Exit         Highscore
  89.  
  90. Toggels       Toggels Music                                Views the
  91. FX (****)     (****)                                       highscores.
  92.  
  93. (*) Controlkeys for player 1
  94.     Cursorkeys
  95.     left                            =  Element goes left
  96.     right                           =     "     "   right
  97.     down                            =     "     "   down
  98.     0 on numerical keypad           =     "    rotates
  99.  
  100. (**) Controlkeys for player 2
  101.      y      =  Element goes left
  102.      x      =     "      "  right
  103.      c      =     "      "  down
  104.      space  =     "    rotates
  105.  
  106. (***) This arrow can be moved using the cursorkeys, space und return will
  107.       select. It is used when the mousepointer can't be controlled,
  108.       because a joystick has been plugged in port 1.
  109.  
  110. (****) The soundroutines are imported from Octamed. They allocate all 
  111.        soundchannels, therefore it is impossible to play FX.
  112.  
  113. Example:
  114.   If you want to play a one-player-game using a mouse in port 2, you have
  115. to disactivate (this means: it has to be crossed with red lines) the
  116. PL1-Field and then activate the mouse icons in the second line. After that
  117. you only have to click "Start".
  118.  
  119. THE GAME
  120.  
  121.   The Screen is divide into many parts.
  122.  
  123.                        |                        |
  124.     -----------        |                        |         -----------
  125.    |           |       |                        |        |           |
  126.    |           |       |                        |        |           |
  127.    |  Preview  |       |                        |        |  Preview  |
  128.     -----------        |                        |         -----------
  129.          ^             |                        |              ^
  130.      next element      |                        |       next element
  131.       of player 1      |       playfield        |        of player 2
  132.                        |                        |
  133.                        |                        |
  134.                        |                        |
  135.                        |                        |
  136.                        |                        |
  137.                        |                        |
  138.                        |                        |
  139.                        |                        |
  140.                        |                        |
  141.                        |                        |
  142.                        |                        |
  143.                        |                        |
  144.    statistic of        |                        |   statistic of
  145.      player 1          |                        |     player 2
  146. -------------------------------------------------------------------------
  147.  Player1 :             |  Alltogether:          |  Player2 :
  148.                        |                        |
  149.  000000000000          |  0000000000000         |  000000000000
  150. -------------------------------------------------------------------------
  151.         ^                      ^                          ^
  152.  score of player 1      score of player 1+2       score of player 2
  153.                         in two-player-game
  154.  
  155.   The attention will be on the playfield. The elements can be moved the
  156. same way as in Tetris. If you don't know it, try it! If choosing "down",
  157. the parts will get faster.
  158.  
  159. Score
  160. Eyery new element is one point.
  161. Every complete line is deleted and is worth 10 points to the player.
  162. If 2 lines are deleted at once, 30 points will be scored,
  163. 3 lines are worth, 60 points and
  164. 4 will add 100 points to player's score.
  165.  
  166. KEYS WHILE PLAYING
  167.  
  168.   While playing some keys have special meanings:
  169.  
  170. P   - pause = Doubletris will get paused. All colors turn grey and after a
  171.               short mousemove the pointer will be shown. Because of
  172.               Doubletris' multitasking abitlity, you can simultaneously 
  173.               play Doubletris and render a picture in your raytracer. This
  174.               means you don't have to quit Doubletris to check the
  175.               raytracer, simply press P and then left Amiga and 'N' will
  176.               switch the screens. A mouseclick on the Doubletris-screen
  177.               will reactivate it immediately.
  178.  
  179. M   - music = Switches music on or off. If music is activated, while FX
  180.               is running, the latter will be turned off. If you don't like
  181.               the actual sound, type 'M' twice to change the soundmodule.
  182.  
  183. F   - FX    = Switches FX on or off. If FX gets activated, while the music
  184.               is playing, it will be deactivated.
  185.  
  186. Esc - stop  = Quits the game.
  187.  
  188. Help- help  = Toggles the preview-funktion.
  189.  
  190. TOOLTYPES
  191.  
  192.   Doubletris uses some tooltypes to change the internal configuration. The
  193. following tooltype are searched:
  194.  
  195.   SCREENMODE   - This tooltype is automaticaly generated on systems
  196.    =xxxxxxxxH    using at least OS2.04. It is generated, when choosing a
  197.                  screenmode. The numbers in this tooltype are
  198.                  systeminternally. Don't edit them, if you don't know 100
  199.                  percent waht you are doing. If you want Doubletris to use
  200.                  a different screenmode, simply delete this tooltype. You
  201.                  should also have a look at the Sprite-tooltype. This one
  202.                  only has sense on machines having a pal or ntsc-monitor,
  203.                  on all other it will do some scratch.
  204.  
  205.   SPRITES      - Shows if hardware-sprites are used. This tooltype has
  206.    =ON/OFF       been implemented, because some graficboards and
  207.                  displaymodes can't display hardware-sprites. If sprites
  208.                  are disabled the elements will be drawn using
  209.                  graphics.library functions. This will lead to problems on
  210.                  slower maschines, because the elements are cleared and
  211.                  then completly redrawn. The result is a flickering. You
  212.                  have to try, which option gives the better result on your
  213.                  maschine.
  214.  
  215.   FX           - This tooltype manipulates the status of the FX-button on
  216.    =ON/OFF       the main menu. But this option will only be watched,
  217.                  when the music is switched off or the sound couldn't be
  218.                  loaded. (see MUSIC AND FX)
  219.  
  220.   MUSIC        - Switches the music on or off at program start.
  221.    =ON/OFF       Nevertheless, the modules will be loaded. So a 'MUSIC=OFF'
  222.                  doesn't ensure that the modules will not be loaded.
  223.  
  224.   INTROMODULE  - You have to state the name of the module, that you
  225.    =name         want to be played whenever the menu is shown,
  226.                  here. (see MUSIC AND FX)
  227.  
  228.   MAINMODULEx  - This set of tooltypes name the soundmodules, that can 
  229.    =name         be played during the game. The x is a variable
  230.                  ranging from 1 to 5. Simply type the names of the
  231.                  soundmodules that you want to use during the game behind
  232.                  the tooltypes MAINMODULE1 to MAINMODULE5. (see MUSIC AND
  233.                  FX)
  234.  
  235.   ENDMODULE    - Look at INTROMODULE. The module named here will be played
  236.    =name         at the end of the game. (see MUSIC AND FX)
  237.  
  238.   PREVIEW      - With this tooltype you decide, wether or not the preview
  239.                  function is activated at the program's start.
  240.  
  241.   (WINDOW)     - This tooltype has no use to Doubletris. The runtimesystem
  242.                  of the Oberon-2 searches for this. I only mentioned it to
  243.                  beware owners of Snoopdos :-) of sleepless nights.
  244.  
  245.   In the tooltypedescription a =ON/OFF identifies a boolean-tooltype. This
  246. tooltypes have only two valid states ON or OFF. There are replacments for
  247. ON and OFF. They are YES for ON and NO for OFF.
  248.  
  249.  "=name" means that you have to type in a filename here. Relativ and 
  250. absolut filenames may be used here. For those people, who don't know about
  251. absolut and relativ filenames, here are some examples:
  252.  
  253. //Sounds/mod.Hello  relativ
  254. df0:test            absolut
  255. dh0:trashcan/test   absolut
  256. Mod.IntroModule     relativ
  257.  
  258. MUSIC AND FX
  259.  
  260.   At a certain position of the development, I decided that Doubletris
  261. couldn't stay quiet. So I looked for possibilities to play sounds. I found
  262. the OctaMed package. There are some functions that can be freely used for
  263. playing sound modules. THANK YOU! The disadvantage of these routines are,
  264. that they allocate all soundchannels and so the simultanious play of
  265. soundeffects was made impossible. But I think that doesn't matter.
  266. The next question is: How can you play your own songs in Doubletris?
  267.   Doubletris loads all soundsmodules from disc. They have to be MED-Files.
  268. There are already many MED-songs in the PD. But they CAN'T get loaded
  269. directly. You first have to convert them to MED-Modules. Get the OctaMed
  270. package (available on Fish840), load the song and save it. OctaMed now
  271. shows a menu where you have to choose "MED-Module". That's it. The only
  272. thing you have to do is type the modulename in the tooltype-field of your
  273. choice. So if you want another intromodule simply change the name behind
  274. the INTROMODULE-tooltype. Beware of the copyright of the song author.
  275.  
  276.   The enclosed ones were taken from the CDPD1. The copyrights of course
  277. remain with the songproducers. If someone sees his copyright not protected,
  278. write me and the module will be deleted in the following distributions.
  279.  
  280. HIGHSCORES
  281.  
  282.   The highscores are only saved if they have changed and by leaving the
  283. program correctly using the Exit-button. This has been done to minimize
  284. writeaccesses of the disc. Some people wondered, when they first saw the
  285. highscores of Doubletris. There are three tables. The upper ones are used
  286. for two-player-games. In the one on the left their scores are marked down
  287. seperately, while the one on the right containes the combined score. The
  288. table in lower half is used for one-player-games.
  289.  
  290. JURISTICAL
  291.  
  292.   I can't be made responsible for any damage Doubletris will do. Don't
  293. blame me, if this program fromats your harddisc. You are using this program
  294. on your own risk. If you give access to your harddisc and it destroyes it,
  295. it is your own fault. You should never give an unknown software access to
  296. your harddisc (isn't it right, Albi?) I also can't be made liable, if this
  297. software doesn't work the way it is supposed to.
  298.  
  299.   Doubletris is Freeware. The copyright of original Tetris is reserved.
  300. I hold the copyright of Doubletris.
  301.  
  302.   ATTENTION !!
  303.  
  304.   Only the following pd-series are allowed to distribute Doubletris:
  305. Fish-serie espcially on the FreshFish-CDs. SaarAG/Amok and on their
  306. CD-Roms. Doubletris also may be distributed using the Aminet and their
  307. CD-Roms. The distribution on discs that will cost more than $4 US-dollar
  308. is not allowed.
  309.  
  310. SOURCECODE
  311.  
  312.   Doubletris was developed using Oberon-2. The compiler was AmigaOberon3.2 
  313. of A+L Ag. Furthermore the following programs were used to develop it:
  314. A68k, MICE, OctaMed and PPaint.
  315.  
  316.   Doubletris is almost completely written objectoriented.
  317.  
  318.   It has 28 Modules, 170 KByte sourcecode and approximatly 6100 lines.
  319.  
  320.   If you want to get the code, send me an envelope, a disc and some money
  321. to send it back. You may also get the code from the Amok-Club. I will
  322. offer it to them and they may put it on their discs.
  323.  
  324. ERRORS
  325.  
  326. Symtom              | to do
  327.                     |
  328. Doubletris doesn't  | Doubletris needs the icon.library in the
  329. start.              | LIBS:-directory.
  330.                     |
  331. The Screenmode-     | The Screenmoderequester is only used on Systems
  332. requester doesn't   | running Kickstart 2.0 or higher. Additionally the
  333. pop up.             | asl.library has to be in the LIBS:-directory.
  334.                     |
  335.                     | The Tooltype SCREENMODE exists. Delete it and
  336.                     | Doubletris will show the a new Screenmode-
  337.                     | requester.
  338.                     |
  339. The monitor doesn't | A screenmode has been choosen that is not supported
  340. show something      | by your monitor. Delete the Tooltype SCREENMODE and
  341. readable.           | choose another screenmode at the start.
  342.                     |
  343. The Elemente can't  | The screenmode doesn't support hardware-sprites.
  344. been seen.          | Set the tooltype SPRITES to OFF.
  345.                     |
  346. The Sound-moduls    | The sound-moduls aren't in the directory that has
  347. have not get        | been specified by the tooltypes. If Doubletris can't
  348. loaded.             | get a modul, an error message is displayed.
  349.                     | "Can't find xxx." means, that the named modul isn't
  350.                     | in the specified directory. Check the path in the
  351.                     | tooltypes.
  352.                     |
  353.  
  354. ADDRESS
  355.  
  356.   My Adress is:
  357.  
  358.   Andre Vehreschild
  359.   Kaiser-willhelm-Allee 4
  360.   47551 Bedburg-Hau
  361.   Germany
  362.  
  363.   e-mail: vehre@pool.informatik.rwth-aachen.de
  364.  
  365. GREETING AND THANKS
  366.  
  367.   Greetings will go to God and the whole world.
  368.  
  369.   Furthermore I have to thank Michael Albrecht for his continuos help and
  370. his help fixing a blown PCB-wire, my cousin Klaus Vehreschild, without
  371. his help the elements would still rotate incorrectly. Also, I have to thank
  372. my infromatic teacher Werner Ueding, who taught me Oberon and the
  373. objectorientet programming methods, as well as the betatesters who had the
  374. courage to put this program on their harddiscs. Another "Thank you!" has to
  375. go to Klaus-Henning von Restorff, for checking this manual and not loosing
  376. the will to correct all mistakes (there were many!).
  377.  
  378. BYE !
  379.  
  380.   Amiga for ever. :-)
  381.